草庐IT

Python itertools.combinations 的结果

全部标签

mongodb - 存储 Mongoose (node.js orm)查询结果

有没有办法做类似的事情:varfirst_user=User.find({_id:user_id}).first();使用mongooseORM?http://github.com/LearnBoost/mongoose我想做的是存储查询的返回结果以备后用。当我使用上面的方法时,返回到varfirst_user中的只是QueryWriter对象。 最佳答案 您可以通过传递的回调访问Mongoose查询的结果。您会发现mongoose与大多数node.js模块一样,广泛使用异步回调。Mongoose还提供了一个通过id返回对象的好方法

mongodb - 查找包含相似嵌套对象的多个 MongoDB 结果

我有一些用户关联了多个社交网络帐户。在某个时候,一些用户已经能够使用这些相同的网络创建多个帐户,我正试图让它们全部重新合并。我的结构是这样的:users:[{accounts:[{type:"twitter",uid:123123},{type:"facebook",uid:123123}]}]例如,我有多个用户使用同一个Twitter帐户,我想将他们全部归还。我使用这样的查询db.users.find({"accounts.type":"twitter","accounts.uid":123123});尽管我100%确定不止use包含此ID,但无论如何我只得到一个结果。我也试过db.

ruby-on-rails-3 - MongoDB 无限滚动排序结果

我在尝试实现以下目标时遇到问题:我想要一个具有“无限”滚动功能的页面,并且所有获取的结果都按特定属性排序。代码当前的工作方式是,它放置查询、对结果进行排序并显示它们。问题是,一旦用户到达页面底部并放置新查询,该查询的结果就会排序,但在其自己的上下文中。也就是说,如果你总共有100个结果,而第一个查询只显示50个,那么它们是排序的。但是下一个查询(对于接下来的50个)仅根据这50个结果对结果进行排序,而不是根据100个(总结果)。那么,我是否必须一次获取所有结果,对它们进行排序,然后对它们应用一些分页逻辑,或者MongoDB是否有一种方法可以实际进行无限滚动(AJAX请求)并对结果应用排

mongodb - Mongoid 3 - 访问 map_reduce 结果

在mongoid2中,这曾经有效:mr_collection=self.collection.map_reduce(map,reduce,{:query=>query,:finalize=>finalize,:out=>{:replace=>'mr_results'}})limit=(options[:limit]||10)skip=(options[:skip].to_i||nil)page=ifskip>=limit((skip+limit)/limit)else1endsort=ifoptions[:sort_by_vintage][['value.vy',:desc],['va

node.js - FindOne 用 MongooseJS 然后预先存储结果?

抱歉,如果这听起来很傻,我仍在学习服务器端Javascript。我的app.js文件中有这段代码。vartest;UserModel.findOne({name:'guest'},function(err,user){test=user.name;});console.log(test);我知道这是行不通的,因为UserModel.findOne是异步的,所以一切都必须在回调中发生。例如。console.log(test)可以在UserModel.findOne完成之前执行。问题如果我在我的app.js文件中声明vartest,有没有办法获取user.name的值(通过UserMode

javascript - 如何过滤 Meteor 数据库查询结果?

我很难找到一种优雅的方法来过滤我不想要的对象数组的mongodb查询结果。我得到一个对象数组:vararticles=Tips.find().fetch();而且我还有几篇文章已经被选中了,应该归还varselected=[{Object},{Object}];我很难相信没有内置函数,例如:articles.remove(selected);但是没有,考虑到我们在Meteor中使用MongoDb的数量,我想有人已经找到了一些很好的辅助函数来完成这个和其他类似的功能谢谢 最佳答案 所以我找到了一个合理的解决方案,但它不完整:Array

node.js - 如何用nodejs和mongoose查找文档,为什么没有结果?

person集合中有3个文档,但我找不到()mongodb外壳:>usetest;switchedtodbtest>db.person.find();{"_id":ObjectId("527f18f7d0ec1e35065763e4"),"name":"aaa","sex":"man","height":180}{"_id":ObjectId("527f1903d0ec1e35065763e5"),"name":"bbb","sex":"man","height":160}{"_id":ObjectId("527f190bd0ec1e35065763e6"),"name":"ccc",

MongoDb 聚合框架 - $sum 结果可以用在 $push 中吗?

是否可以将$sum的结果添加到分组数组中?类似于:{"$group":{_id:{ProductId:"$ProductId",Day:"$Day"},Products:{$push:{clicks:{$sum:"$clicks"}}}}}我想将$sum的计算值存储到一个数组中。这可以分组完成吗? 最佳答案 是的,您可以使用第二组运算符(operator)。db.collection.aggregate({$group:{_id:{ProductId:"$ProductId",Day:"$Day"},clicks:{$sum:"$c

javascript - 有效地向 MongoDB 结果添加额外字段

对于API,我从我的MongoDB返回一个对象列表。为了更加RESTful,我想为每个对象添加一个字段link。我的做法是在处理请求时计算它,并在一个简单的循环中添加每个对象的链接:exports.list=function(req,res){collection.find({},{fields:{a:1,b:1,c:1},function(err,docs){for(vari=0;i但是,我感觉这种方式的执行效率可能不是很高。有没有更好的方法?比如直接告诉MongoDB做这样的计算?或者甚至建议将完整链接保存在数据库本身中? 最佳答案

MongoDB GeoNear 聚合结果大小限制

我正在使用MongoDB2.6.3查询大量地理空间数据。具体来说,我正在查询中心位置几公里范围内所有ping的数据集,然后按用户标识符折叠它们以计算每个用户有多少ping。当然,我为此使用了MongoDB聚合,特别是$geoNear管道阶段。然而,看起来,即使在2.6.0中聚合返回一个游标,$geoNear仍然对聚合返回文档时绑定(bind)的结果集的大小有限制。即,使用$geoNear的聚合仅返回65,000条记录,而等效(游标)查询返回200,000多条记录。有人知道我如何使用geoNear执行大规模聚合吗?编辑:示例文档:{"initial_epoch_time":1370062